package br.ucb.cesbdao.persistencia.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import br.ucb.cesbdao.beans.Pessoa;
import br.ucb.cesbdao.persistencia.AbstractConnectionDAO;


public class AtendidoDAO extends AbstractConnectionDAO{
	
	public AtendidoDAO(Connection conexao) {
		super(conexao);
	}

	public ArrayList<Pessoa> consultaPaciente() throws SQLException,ClassNotFoundException{
		String sqlConsulta = "select * from daopessoa where daopessoa.chavepessoa not in (select p.chavePessoa from daopessoa as p, daotrabalhador as t where p.chavepessoa = t.chavepessoa) ORDER BY nomePessoa;";
		Statement instrucao=getConexao().prepareStatement(sqlConsulta);
		ResultSet rs=instrucao.executeQuery(sqlConsulta);
		ArrayList<Pessoa> pessoas = new ArrayList<Pessoa>();
		while(rs.next())
			pessoas.add(new Pessoa(rs.getInt("chavePessoa"), rs.getString("nomePessoa"),(rs.getString("sexo")).charAt(0), rs.getString("status").charAt(0)));
		instrucao.close();
		rs.close();
		return pessoas;
	}

	public ArrayList<Pessoa> consultaPacienteByNome(String nome) throws SQLException,ClassNotFoundException{
		String sqlConsulta = "select * from daopessoa where daopessoa.chavepessoa not in (select p.chavePessoa from daopessoa as p, daotrabalhador as t where p.chavepessoa = t.chavepessoa) AND nomePessoa LIKE '%"+nome+"%' ORDER BY nomePessoa;";
		PreparedStatement instrucao=getConexao().prepareStatement(sqlConsulta);		
		ResultSet rs=instrucao.executeQuery(sqlConsulta);
		ArrayList<Pessoa> pessoas = new ArrayList<Pessoa>();
		while(rs.next())
			pessoas.add(new Pessoa(rs.getInt("chavePessoa"), rs.getString("nomePessoa"),(rs.getString("sexo")).charAt(0), rs.getString("status").charAt(0)));
		instrucao.close();
		rs.close();
		return pessoas;
	}

}
